home *** CD-ROM | disk | FTP | other *** search
/ Internet.Works 41 / Issue 41.iso / pc / PCSoftware / Netscape 6 Official Release / nim.xpi / bin / chrome / aim.jar / content / aim / AimBuddy.js < prev    next >
Encoding:
JavaScript  |  2000-09-13  |  4.7 KB  |  191 lines

  1. /* XXXVISHY - lets try to keep it all in aimHelpers
  2.  
  3. var IMServiceClass = Components.classes['@netscape.com/aim/IMManager;1'];
  4. var pIIMManager  = IMServiceClass.getService(Components.interfaces.nsIIMManager);
  5.  
  6. var allEnums = null;
  7.  
  8. function getEnums( myInterface )
  9. {
  10.     dump( "Entering getEnums()\n" );
  11.     var enums = { };
  12.     for ( var i in myInterface ) {
  13.         if ( typeof myInterface[i] == "number" ) {
  14.             enums[i] = myInterface[i];
  15.             dump( "enums " + enums[i] + "\n" );
  16.         }
  17.     }
  18.     return enums;
  19. }
  20.  
  21. function aimBuddyObject()
  22. {
  23.     if(pIIMManager)
  24.         return pIIMManager.QueryInterface(Components.interfaces.nsIAimBuddy);
  25.     else
  26.         return null;
  27. }
  28. */
  29.  
  30. function aimBuddyIsOnline(screenName)
  31. {
  32.     var pIAimBuddy = aimBuddyManager();
  33.  
  34.     if ( !screenName || screenName == "" )
  35.         return FALSE;
  36.     if(pIAimBuddy)
  37.         return pIAimBuddy.IsOnline(screenName);
  38. }
  39.  
  40. function aimBuddyAddBuddyGroup(groupName, beforeGroup)
  41. {
  42.     if (beforeGroup == "")
  43.         beforeGroup = null;
  44.  
  45.     dump('AddBuddyGroup: ' + groupName + ', before: ' + beforeGroup + '\n');
  46.  
  47.     var pIAimBuddy = aimBuddyManager();
  48.  
  49.     var isInList = new Object();
  50.  
  51.     pIAimBuddy.GroupIsInList(groupName, isInList);
  52.     if ( isInList.value == true ) {
  53.         aimErrorBox(aimString("msg.GroupAlreadyInList"));
  54.         return 1;
  55.     }
  56.     if ( beforeGroup == "" )
  57.         beforeGroup = null;
  58.     if(pIAimBuddy)
  59.         pIAimBuddy.AddGroup(groupName, beforeGroup);
  60.     return 0;
  61. }
  62.  
  63. function aimBuddyRemoveBuddyGroup(groupName)
  64. {
  65.     dump('RemoveBuddyGroup: ' + groupName + '\n');
  66.  
  67.     var pIAimBuddy = aimBuddyManager();
  68.     if(pIAimBuddy)
  69.         pIAimBuddy.RemoveGroup(groupName);
  70. }
  71.  
  72. function aimBuddyRenameBuddyGroup(oldName, newName)
  73. {
  74.     dump('RenameBuddyGroup: ' + oldName + ' -> ' + newName + '\n');
  75.  
  76.     var pIAimBuddy = aimBuddyManager();
  77.     if(pIAimBuddy)
  78.         pIAimBuddy.RenameGroup(oldName, newName);
  79. }
  80.  
  81. function aimBuddyAddBuddyBefore(groupName, screenName, beforeBuddy)
  82. {
  83.     dump('AddBuddy: ' + groupName + '/' + screenName + ', buddy: ' + beforeBuddy + '\n');
  84.  
  85.     var pIAimBuddy = aimBuddyManager();
  86.     if ( beforeBuddy == "" ) {
  87.         beforeBuddy = null;
  88.     }
  89. /*
  90.     if ( allEnums == null )
  91.         allEnums = getEnums( Components.interfaces.nsAimInsertionStyles );
  92. */
  93.     if(pIAimBuddy) {
  94.         var inBudList = new Object();
  95.         pIAimBuddy.BuddyIsInGroup(screenName, groupName, inBudList);
  96.         if ( inBudList.value == true ) {
  97.             var msg = aimString("msg.BuddyAlreadyInGroup") + " " +
  98.                 groupName;
  99.             aimErrorBox(msg);
  100.             return 1;
  101.         }
  102.         if (beforeBuddy)
  103.             pIAimBuddy.AddBuddy(groupName, screenName, beforeBuddy, aimInsertionStyles().InsertBefore);
  104.         else
  105.             pIAimBuddy.AddBuddy(groupName, screenName, beforeBuddy, aimInsertionStyles().InsertEnd);
  106.     }
  107.     return 0;
  108. }
  109.  
  110. function aimBuddyAddBuddyAfter(groupName, screenName, afterBuddy)
  111. {
  112.     dump('AddBuddy: ' + groupName + '/' + screenName + ', after: ' + afterBuddy + '\n');
  113.  
  114.     var pIAimBuddy = aimBuddyManager();
  115.     if ( afterBuddy == "" ) {
  116.         afterBuddy = null;
  117.     }
  118. /*
  119.     if ( allEnums == null ) 
  120.         allEnums = getEnums( Components.interfaces.nsAimInsertionStyles );
  121. */
  122.     if(pIAimBuddy) {
  123.         var inBudList = new Object();
  124.         pIAimBuddy.BuddyIsInGroup(screenName, groupName, inBudList);
  125.         if ( inBudList.value == true ) {
  126. //            var msg = aimString("msg.BuddyAlreadyInGroup") + " " +
  127. //                groupName;
  128. //            aimErrorBox(msg);
  129.             return 1;
  130.         }
  131.         if (afterBuddy)
  132.             pIAimBuddy.AddBuddy(groupName, screenName, afterBuddy, aimInsertionStyles().InsertAfter);
  133.         else
  134.             pIAimBuddy.AddBuddy(groupName, screenName, afterBuddy, aimInsertionStyles().InsertEnd);
  135.     }
  136.     return 0;
  137. }
  138.  
  139. function aimBuddyRemoveBuddy(groupName, screenName)
  140. {
  141.     dump('RemoveBuddy: ' + groupName + '/' + screenName + '\n');
  142.  
  143.     var pIAimBuddy = aimBuddyManager();
  144.     if(pIAimBuddy)
  145.         pIAimBuddy.RemoveBuddy(groupName, screenName);
  146. }
  147.  
  148. function aimBuddyMoveGroup(group, beforeGroup)
  149. {
  150.     dump('MoveGroup: ' + group + ' -> ' + beforeGroup + '\n');
  151.  
  152.     var pIAimBuddy = aimBuddyManager();
  153.     if(pIAimBuddy)
  154.         pIAimBuddy.MoveGroup(group, beforeGroup);
  155. }
  156.  
  157. function aimBuddyMoveBuddy(group, buddy, beforeGroup, beforeBuddy)
  158. {
  159.     dump('MoveBuddy: ' + group + '/' + buddy + ' -> ' + beforeGroup + '/' + beforeBuddy + '\n');
  160.  
  161.     var pIAimBuddy = aimBuddyManager();
  162.     if(pIAimBuddy)
  163.         pIAimBuddy.MoveBuddy(group, buddy, beforeGroup, beforeBuddy);
  164. }
  165.  
  166. // false means failure
  167.  
  168. function aimBuddyImportBuddyList(fileSpec)
  169. {
  170.     var myStatus = new Object();
  171.     var pIAimBuddy = aimBuddyManager();
  172.     if(pIAimBuddy) {
  173.         pIAimBuddy.ImportBuddyList(fileSpec, myStatus);
  174.         return( myStatus.value );
  175.     }
  176.     return false;
  177. }
  178.  
  179. // false means failure
  180.  
  181. function aimBuddyExportBuddyList(fileSpec, status)
  182. {
  183.     var myStatus = new Object();
  184.     var pIAimBuddy = aimBuddyManager();
  185.     if(pIAimBuddy) {
  186.         pIAimBuddy.ExportBuddyList(fileSpec, myStatus);
  187.         return( myStatus.value );
  188.     }
  189.     return false; 
  190. }
  191.